iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1

Day8 laravel controller 基礎用法

controller在mvc架構中扮演相當重要的角色,可寫下各種功能(function),使用models做資料演算,並將response回傳給不同的view,可說是核心的部份。

建立controller

可以使用php artisan指令幫忙生成controller檔案

php artisan make:controller TodoController --api

這樣就可以生成名為TodoController的controller了

--api :這個參數表示他會在內容中幫你生成restful api 風格的function 我們看看內容

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class TodoController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

使用controller

上面可以看到幾個常用資料庫操作功能,若我要在function index()中將頁面導向首頁
我可以這樣寫

public function index()
    {
        return view('welcome');
    }

然後rote這樣設置:

Route::get('/', 'TodoController@index');

這樣我們在瀏覽器網址打http://127.0.0.1:8000/ 就會進入laravel的首頁了,
這就是controller最基本的用法。


今天先講到這邊吧,有關controller更進階的用法,我會在之後的章節中講到的。

參考:https://laravel.com/docs/7.x/controllers


上一篇
Day7 laravel 設計 route
下一篇
Day9 先別急著寫code,專案開始前的設計
系列文
後端新手 使用laravel 從零開始 到開出api30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
aa4731073
iT邦新手 4 級 ‧ 2022-06-15 11:45:34

請問一下,您的rote是設定在web.php還是在api.php?
如果是設定在api.php的話,url應該是http://127.0.0.1:8000/api/ 吧?

如果您沒有在web.php把Route給註解掉的話,你上面的步驟會回到laravel首頁是因為web.php的關係,不是api.php的吧?

我要留言

立即登入留言